Method and device for exchange of data between at least two users linked by means of a bus system

ABSTRACT

A method and a device for exchanging data in messages between at least two stations connected via a bus system, the messages containing the data being transmitted by the stations over the bus system and the messages being controlled over time by a first station in such a manner that the first station repeatedly transmits a reference message over the bus at at least one specifiable time interval and the time interval is divided into time windows of specifiable length, the messages being transmitted in the time windows, a reference message and the subsequent time windows until the next reference message being combined into a first cycle, and the first station interrupting the transmission at the end of a first cycle due to a stop request, in particular, a message of the at least second station.

RELATED ART

[0001] The present invention relates to method and device for exchanging data between at least two stations connected via a bus system according to the features of the independent claims.

[0002] In automotive networking, the CAN protocol has been used for some years in the related art. There, communication is event-triggered. Very high loads can be generated when the transmission of different messages is to be initiated at the same time. The non-destructive arbitrating mechanism of CAN guarantees that the sequential transmission of all messages according to the priority of their identifiers. For hard real-time systems, an analysis of the transit times and bus loads has to be done previously for the entire system to ensure that all message deadlines can be met (even during peak load).

[0003] There are already communication protocols which work on the basis of time-triggered processing, such as TTP/C or Interbus-S. In this context, the exceptional feature is that bus access is scheduled already in advance by assigning transmission points. Therefore, no collisions can occur during transit time. However, a peak load on the communication bus is avoided as well. Thus, the bus is frequently not completely utilized to capacity in the process.

[0004] Time-determined communication systems permit a predeterminable execution of the processes. Therefore, it is possible for the application to be synchronized with the communication in a narrower time range than in an arbitrating system. In the case of a communication which is performed purely cyclically, however, the application is rigidly bound to the time pattern whereas certain operational sequences, in particular, the engine control in a vehicle, require a time-variable transmission of messages or data, in particular, of the measured values, which is adapted to the rotational speed.

[0005] It has turned out that the related art cannot provide optimum results in every respect.

ADVANTAGES OF THE INVENTION

[0006] Thus, the present invention includes a method and a device for exchanging data in messages between at least two stations connected via a bus system, the messages containing the data being transmitted by the stations over the bus system and the messages being controlled over time by a first station in such a manner that the first station repeatedly transmits a reference message over the bus at at least one specifiable time interval and the time interval is divided into time windows of specifiable length, the messages being transmitted in the time windows, a reference message and the subsequent time windows until the next reference message being combined into a first cycle, and the first station interrupting the transmission at the end of a first cycle by a stop request, in particular, a message of the at least second station.

[0007] In this context, the CAN bus is expediently used as underlying bus system or bus protocol. However, the present invention generally relates to any bus system or bus protocol in which an object-oriented transmission of messages or data is used, that is, the message and/or the data contained therein are clearly recognizable by an identifier. This is true for all busses, in particular, for the CAN bus, where not the stations are addressed but the messages or the data thereof.

[0008] In comparison with the related art, therefore, the present invention includes a higher protocol layer in addition to the actual bus (CAN) protocol which remains unchanged within the scope of the time-triggered communication according to the present invention. Thus, the time-triggered communication advantageously makes it possible to utilize the bus to capacity and, at the same time, to maintain the latencies at a defined value for each message.

[0009] The present invention therefore includes a transmission of bus (CAN) messages which is performed cyclically. In this manner, a deterministic and composable communication system is produced. A system of this kind will hereinafter be referred to as TTCAN in connection with this invention. Also, a CAN bus will be assumed hereinafter, the considerations generally applying to all bus systems or bus protocols with object-oriented transmission of messages as indicated above.

[0010] Thus, the reference message and the subsequent time windows until the next reference message are expediently combined into a first cycle of specifiable length and/or structure, the structure corresponding to the length, number and temporal position of the time windows following the reference message in the time interval.

[0011] Moreover, a plurality of first cycles having the same structure are advantageously combined into a second cycle in which messages are also repeatedly transmitted in time windows whose time interval is greater than the time length of the first cycle.

[0012] In at least one time window of the first or of the second cycle, a cyclic message transmission can expediently be omitted. It is then possible to transmit arbitrating messages in these initially empty time windows, that is, messages which need not be transmitted cyclically but have to be available, for example, when certain processes are completed.

[0013] Advantageously, the first station initiates a first cycle upon a start request, in particular, by the second station.

[0014] Moreover, it is an advantage that the stop request and/or the start request is effected by a device which is external with regard to the bus system and which is connected to the first station for this purpose.

[0015] In an advantageous embodiment, the at least second station or the external device is used for the application.

[0016] In this manner, a time-determined communication sequence is matched with external events of the application. By way of example, reference is made here to the angle synchronous processing of the measured values in the engine control system which are acquired via a time-triggered communications system.

[0017] Time-determined communication systems permit a predeterminable execution of the processes. Therefore, it is possible for the application to be synchronized with the communication in a narrower time range than in an arbitrating system. In the case of a communication which is performed purely cyclically, however, the application is rigidly bound to the time pattern. In the exemplary case of an engine control system, however, it is necessary for the transmissions of measured values to be adapted to the speed variation dynamics. This can advantageously be achieved in that the cyclic communication sequence is able to be interrupted and to be restarted in a defined manner in response to an external event.

[0018] A further advantage is the fast detection of failed stations or nodes (the application expects messages in a fixed temporal relation to the event).

[0019] Further advantages and expedient embodiments follow from the description and the features of the claims.

DRAWING

[0020] In the following, the present invention will be described with reference to the Figures contained in the drawing.

[0021] In this context, FIG. 1 is a schematic view of a bus system including several stations;

[0022] In FIG. 2, the basic sequence of the first cycles or basic cycles and of the second cycles, the matrix cycles, is shown over time.

[0023]FIG. 3 illustrates in detail the structure and message allocation of the time windows.

[0024]FIG. 4 then shows a matrix cycle including 7 basic cycles and diverse transmission groups of the messages as well as arbitrating messages.

[0025]FIG. 5 contrasts a cyclic message transmission according to FIGS. 2 and 4 with the event-synchronized cyclical message transmission.

DESCRIPTION OF THE EXEMPLARY EMBODIMENTS

[0026] TTCAN is essentially based on a time-triggered, periodic communication which is clocked by a time master (node, station) with the aid of a time reference message, or in shorter terms, reference message RN. The period until the next reference message RN is referred to as basic cycle and divided into n time windows (see FIG. 2). Each time window allows exclusive transmission of a periodic message of different length. These periodic messages are transmitted in a TTCAN controller by using time marks which are linked to the expiration of a logically relevant time. However, TTCAN makes it also possible for free time windows to be taken into account. These time windows can be used for so-called “spontaneous” messages, the access to the bus being used via the arbitration schema of CAN within these time windows (arbitrating messages). The synchronization of the time master clock (global time gZ) with the internal local time of the individual nodes lZ1 through lZ4 is taken into account and efficiently implemented.

[0027]FIG. 1 shows a bus system 100 including several stations 101 through 105. In this context, each station 101 through 105 has an individual time base 106 through 110 which can be transmitted to the respective station, on one hand, by an internal means such as a clock, counter, or clock generator, etc., or externally. The respective local time base lZ1 through lZ4 is, in particular, a counter which is incremented, for example, 16 bits, and which can only be influenced by a HW reset. Here, the local time base is implemented in each node or station 102 through 105. One station, the time master, 101 has an exposed position in this context. Its time base is denoted by global time gZ as the global time base 106 and is either implemented in time master 101 or externally transmitted thereto. Global time gZ is always generated in each node from local time base 107 to 110 or local time lZ (lZ1 to lZ4) and an offset OS1 to OS4. As a rule, this offset Osg at time master 101 is equal to zero (Osg=0). All other nodes generate their view of the global time gZ from local time lZ (lZ1 to lZ4) and local offset OS1 to OS4 and OSg if OSg=0. The case that OSg is unequal to zero occurs, for example, when global time gZ is transmitted to time master 101 from outside and this time master additionally contains a time base 106 of its own. Then, the time master is also calibrated to global time gZ, and gZ and time base 106 possibly do not match each other. The local offset is the difference between the local time at the point of transmission (SOF, start of frame) of the reference message and the global time transmitted by the time master in this reference message.

[0028] Local Time Base and Global Time

[0029] Local time base: The local time base is a counter which is incremented, for example, 16 bits, and which can only be influenced by a HW reset. The local time base is implemented in each node.

[0030] Reference mark intermediate register: Each time an SOF is accepted, the local time base is loaded into the intermediate register.

[0031] Reference marker: If the current message is recognized as a reference message, then the value is captured from the intermediate register into the reference marker (as a local reference mark). The reference marker is designed, for example, as a 16-bit register.

[0032] Time master reference mark: This is the reference mark of the time master received by the time slaves in the reference message.

[0033] Local offset to the global time: The local offset to the global time is the difference between the reference mark in the intermediate register and the global time mark received in the reference message. It is used to calculate the global time from the local time. The offset of the time master itself remains constant. In the reference message, the time master transmits its local reference mark plus the local offset.

[0034] Therefore, time master 101 is also the node or station which transmits time reference message 111 or in shorter terms, reference message RN. Arrow 112 indicates that reference message RN 111 is transmitted to the other stations 102 through 105, in particular, at the same time.

[0035] Reference message RN is the basis for the time-triggered, periodic operation of TTCAN. It is clearly identified by a special identifier and received by all nodes, here 102 through 105, as a master clock. It is always sent cyclically by the time master 101. The reference message can contain the following data: number of the current basic cycle BZn, the reference mark of the time master in global time.

[0036] The reference mark is generated by capturing the internal counter content at the point of the start of frame (SOF) bit when the reference message of the time master is received. Thus, the reference mark is a snapshot of the local time base at the point of reception of the reference message. Relative time RZ1 through RZ4 and RZg indicated in the stations is the difference between the local time base and the last reference mark. All definitions regarding the used time marks refer to the relative time of a single station. It can be present, for example, permanently as a signal (for example, by gating the two register values). The reference mark determines the relative time of all nodes on the TTCAN bus.

[0037] Watchdog Wg and W1 through W4, which is also shown, is a special relative point in time. In each node, such a relative point in time (watchdog) is defined at which a new reference message and thus also a reference mark are expected at the latest. Thus, the watchdog represents a special time mark. The watchdog is primarily used during initialization and reinitialization to monitor whether a communication has taken place at all. In this case, the watchdog should always be larger than the interval between the reference messages.

[0038] In this context, a time mark is a relative point in time which establishes the relation between the relative time and an action in the original bus (CAN) controller. A time mark is represented as a register, a controller being able to administer several time marks. A message can be assigned several time marks (see, for example, FIG. 4: transmission group A occurs both in time window ZF1 a and in time window ZF4 a).

[0039] With regard to the application, in particular, an application watchdog is serviced. This watchdog has to be regularly serviced by the application to signal proper operation to the TTCAN controller. The messages are transmitted by the CAN controller only if this watchdog is serviced.

[0040]FIG. 2 shows the principle of the time-triggered, periodic transmission of messages or data over time. This message transmission is clocked by the time master with the aid of the reference message. In this context, the interval t0 through t6 is referred to as basic cycle BZ and divided into k time windows (kε

). In this connection, the reference messages RN of the respective basic cycles BZ0 to BZ3 are transmitted from t0 to t1, t6 to t7, t12 to t13 and t18 to t19, that is in time window ZFRN. The structure of time windows ZF1 through ZF5 following a reference message RN, i.e., their length (in segments S with Ats=tsb−tsa), their number and their temporal position, is selectable. Because of this, it is possible to form a matrix cycle GZ1 from several basic cycles of identical structure, the matrix cycle beginning at To and ending at t24 and then being run again. The time windows include, for example, 2 to 5 segments having, for example, 32 bit times each. The number of time windows is, for example, 2 to 16, but just one time window or more than 16 would be possible as well. The number of basic cycles in a matrix cycle is, for example, 2^(m), where, in particular, m≦4.

[0041] tzff1 and tzff2 exemplarily mark two transmission enable intervals or time window enable intervals which have a duration of, for example, 16 or 32 bit times and describe the time frame within which the transmission of the message may be started with respect to the basic cycle.

[0042] Each time window allows exclusive transmission of a periodic message of different length. FIG. 3 shows, by way of example, two messages of different length as well as the allocation in the time window. Message 1 (N1), as a block 300, contains, for example, 130 bits, and message 2 (N2), as a block 301, contains, for example, 47 bits.

[0043] As already mentioned, it is possible to specify maximum and minimum time windows as a function of the message length, in this example here, for instance, between 2 and 5 segments per time window. Thus, a maximum time window ZFmax is specified as a block 302 containing 5 segments (S1 through S5) with 32 bit times each, and a minimum time window ZFmin is specified as a block 303 containing 2 segments (S1 and S2) with 32 bit times each. Messages N1 and N2 are transmitted in these, in fact, without the need for the messages to completely fill the time windows; rather, the sizes of the time windows are selected according to the message length. Consequently, ZFmax has to offer sufficient time or space for the longest possible message, for example, 130 bits or bit times; and ZFmin can be adapted to the shortest possible message, for example, 47 bits.

[0044] In general, the time window is the time frame which is available for a particular message (see FIG. 3). The time window of a message is opened when the transmission enable is present, and the beginning of this window always corresponds to a defined time mark. The length of the time window is determined from i segments of, for example, 32 bit times (cf. block 304 a). In this context, the segmentation into, in particular, 32 bit times represents a HW friendly size. The time window must not be shorter than the longest message occurring in this time window. The bit time is, in particular, the nominal CAN bit time.

[0045] The transmission enable interval or time window enable interval describes the time frame within which the transmission of the message may be started. The transmission enable interval forms part of the time window. Thus, the enable is present in the interval time mark and time mark plus delta. The value delta is markedly smaller than the length of the time window (for example, 16 or 32 bit times for ZFF1 or ZFF2). A message whose beginning does not lie within the transmission enable interval must not be transmitted.

[0046]FIG. 4 now represents a matrix cycle (transmission matrix) GZ2. Matrix cycle (transmission matrix): All messages (RN, A through F and arbitrating) of all stations are organized as components of a transmission matrix (see FIG. 4). The transmission matrix is constituted by individual basic cycles BZ0 a through BZ7 a. All basic cycles of matrix cycle GZ2 have the same structure. The basic cycles can optionally be composed of exclusive (A through F) and arbitrating components. Here, the total number of rows (that is, basic cycles BZ0 a through BZ7 a) is a number 2^(m)=8 where m=3.

[0047] A basic cycles (row of the transmission matrix) begins with a reference mark in the reference message RN and is composed of a plurality (i) of successive time windows having a defined length (first time window ZF0 or ZFRN for RN). The arrangement of the messages within the basic cycle can be freely determined. For exclusive components, a time window is linked to a CAN message object. However, it is also possible for a time window to be left free (409, 421, 441, 417, 445) or to be used for arbitrating components (403, 427).

[0048] A transmission group (column of the transmission matrix, A through F) is formed by messages which are always transmitted in the same time window but in different basic cycles (see FIG. 4). In this manner, it is possible to build a period, for example, A in ZF1 a and ZF4 a: 401, 407, 413, 419, 425, 431, 437, 443 and 404, 410, 416, 422, 428, 434, 440, 446. Within a transmission group, a message object (of a time window) can be transmitted repeatedly. The period of a message within a transmission group must be a number 2¹, where 1<=m.

[0049] The message object or the message corresponds to the message object of the bus, in particular, in CAN, and includes the identifier and the data itself. In TTCAN, the message object is supplemented with at least one, preferably with all three of the following entries in the transmission matrix: time window, base mark, repetition rate.

[0050] The time window is the position (ZF0, ZF1 a to ZF5 a) in the basic cycle (BZn, row of the transmission matrix). The beginning of the time window is defined by the reaching of a specific time mark.

[0051] The base mark specifies in which basic cycle (BZ0 a to BZ7 a) in the matrix cycle the message is transmitted for the first time.

[0052] The repetition rate specifies the number of basic cycles after which this transmission is repeated.

[0053] To mark the validity of a message object for the CAN controller, there is a “permanent transmission request”, which means that the object is permanently enabled (for exclusive components, see below), and a “single transmission request”, meaning that the object is valid once (for arbitrating components, see below).

[0054] Automatic retransmission from CAN is expediently disabled for the messages in TTCAN.

[0055] In the following, the message transmission, periodic messages and spontaneous messages in the basic cycle and in the matrix cycle, respectively, will be described again, in particular, with regard to the application. In this context, exclusive messages, that is, periodic messages, and arbitrating, that is, spontaneous messages will be distinguished again.

[0056] Exclusive message objects (periodic messages):

[0057] Exclusive message objects are transmitted when the application watchdog is set, the “permanent transmission request” of the application to the CAN controller is set, and the transmission enable interval of the associated time window is open. In this case, the time mark for the message object is corresponds to the relative time. The permanent transmission request remains set until it is reset by the application itself.

[0058] Arbitrating message objects (spontaneous messages):

[0059] Arbitrating message objects are transmitted when the application watchdog is set, the “single transmission request” of the application to the CAN controller is set, and the transmission enable interval of the next time window intended for this is open. Then, the time mark for this time window is identical to the relative time. Upon successful transmission, the transmission request is reset by the CAN controller. The concurrent access of different spontaneous messages is controlled by the bit arbitration of CAN. If a spontaneous message loses against another spontaneous message in this time window, then it can compete for the bus access only in the next time window intended for this.

[0060] If the entire transmission matrix or the matrix cycle is executed, then a cyclic, time-triggered message transmission ensues. Time-triggered means that each action starts when a specific point in time is reached (see time marks and relative time). When the matrix cycle has been run to completion, i.e. all basic cycles have been processed once, then begins with the first basic cycle of the transmission matrix again. No time gaps develop during the transition. An overview of such a time-triggered communication system with time master has been depicted in the specification and the Figures of the drawing.

[0061]FIG. 5 contrasts a cyclic message transmission according to FIGS. 2 and 4 with the event-synchronized cyclical message transmission. In this context, the starting points of a basic cycle are denoted by t0, t6, t12, t18, t24 and t24+te1, respectively. te1, te2 and te3 represent the interrupt times due to event synchronization. In this context, terms time reference message and reference message are synonymous.

[0062] A time-determined communication sequence is to be matched with external events of the application. An example is the angle synchronous processing of the measured values in the engine control system which are acquired via a time-triggered communications system.

[0063] Time-determined communication systems permit a predeterminable execution of the processes. Therefore, it is possible for the application to be synchronized with the communication in a narrower time range than in an arbitrating system. In the case of a communication which is performed purely cyclically, however, the application is rigidly bound to the time pattern. In the exemplary case of an engine control, however, it is necessary for the transmissions of measured values to be time-variable and adapted to the speed variation dynamics. This can be achieved in that the cyclic communication sequence is able to be interrupted and to be restarted in a defined manner in response to an external event.

[0064] A communications (TTCAN) controller which is time master is enabled to interrupt the cyclic communication at the end of a basic cycle in response to a request, in particular, of the application, and to resume the communication with a new basic cycle upon receipt of a start signal or start request of the application. Depending on whether the interrupt request or stop request is maintained or has been canceled, only one basic cycle is executed or the cyclic communication is continued until a new interrupt request comes in. Regardless of the point in time within a basic cycle at which the request comes in, this cycle will be completed. If the interrupt request is followed by a start signal within the same basic cycle, then the communication will not be interrupted.

[0065] For a clear association of external event and communication, the interval between two external events should advantageously be larger than or equal to the length of a basic cycle or a basic cycle smaller than the minimum external synchronization interval.

[0066] The monitoring by a watchdog which waits for the reference message should expediently be matched to the maximum length of the gap between the basic cycles. 

What is claimed is:
 1. A method for exchanging data in messages between at least two stations connected via a bus system, the messages containing the data being transmitted by the stations over the bus system, and the messages being controlled over time by a first station in such a manner that the first station repeatedly transmits a reference message over the bus at at least one specifiable time interval and the time interval is divided into time windows of specifiable length, the messages being transmitted in the time windows, a reference message and the subsequent time windows until the next reference message being combined into a first cycle, and the first station interrupting the transmission at the end of a first cycle due to a stop request.
 2. The method as recited in claim 1, wherein the first station initiates a first cycle upon a start request.
 3. The method as recited in claim 1, wherein a reference message and the subsequent time windows until the next reference message are combined into a first cycle of specifiable length and/or specifiable structure, the structure corresponding to the length, number and temporal position of the time windows following the reference message in the time interval.
 4. The system as recited in claim 1 and 3, wherein a plurality of first cycles having the same structure are combined into a second cycle in which messages are also repeatedly transmitted in time windows whose time interval is greater than the time length of the first cycle.
 5. The method as recited in claim 1 and/or 2, wherein the stop request and/or the start request is effected by a device which is external with regard to the bus system and which is connected to the first station for this purpose.
 6. The method as recited in claim 1 and/or 2 or 5, wherein the at least second station or the external device is used for the application.
 7. The method as recited in one of the preceding claims, wherein a cyclic message transmission is omitted in at least one time window of the first or of the second cycle and arbitrating messages are transmitted in this time window.
 8. A device including a bus system and at least two stations for exchanging data in messages between at least two stations which are connected via a bus system, the messages containing the data being transmitted by the stations over the bus system, and the messages being controlled over time by a first station in such a manner that the first station repeatedly transmits a reference message over the bus at at least one specifiable time interval and the time interval is divided into time windows of specifiable length, the messages being transmitted in the time windows, a reference message and the subsequent time windows until the next reference message being combined into a first cycle, and the first station interrupting the transmission at the end of a first cycle due to a stop request.
 9. A bus system for exchanging data between at least two stations, wherein it is used to carry out a method according to one of the claims 1 through
 7. 